﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;

namespace HelpDesk
{
    public partial class Login : System.Web.UI.Page
    {
        QueryBuilder query = new QueryBuilder();
        Utilitario util = new Utilitario();
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                Session.Clear();
            }
        }
        public bool EsUsuarioValido(string strIDusuario, string strContrasenia, bool flujo)
        {
            bool resultado = false;
            try
            {
                string sql = "select * from usuario where id_usuario='" + strIDusuario + "' and password='" + strContrasenia + "'";
                DataTable datos = query.EjecutarQuery(sql);

                if (datos.Rows.Count > 0)
                {
                    Session["Usuario"] = Login1.UserName.ToString();
                    if (flujo == false)
                        Response.Redirect("Principal.aspx");
                    else
                    {
                        Session.Add("usrticket", Request.QueryString["usr"].ToString());
                        Session.Add("ticket", Request.QueryString["ticket"].ToString());
                        Response.Redirect("PantallaCulminacion.aspx");
                    }
                }
                else
                {
                    Login1.FailureText = "El usuario no existe";
                }
                return resultado;
            }
                //obtener mediante un query los datos del usuario
                //validar mediante el usuario y desencriptar la contraseña en la bdd y compararla con la que ingreso.
                //devuelve true si los datos son buenos.
            catch
            {
                Login1.FailureText = "El usuario no existe";
                return resultado;
            }
        }

        protected void LoginButton_Click(object sender, EventArgs e)
        {
            bool flujo = false;
            if (Request.QueryString["usr"] != null && Request.QueryString["ticket"] != null)
            {
                flujo = true;
                EsUsuarioValido(Login1.UserName.ToString(), util.Encriptar_Password(Login1.Password.ToString()), flujo);
            }
            else
                EsUsuarioValido(Login1.UserName.ToString(), util.Encriptar_Password(Login1.Password.ToString()), flujo);
        }
    }
}
